Monitoring data exchange within a network environment allows to investigate and trace abnormal conditions related to systems in the network environment. Status of message flows running between the systems in the network is monitored by message flow monitoring systems that receive and assemble events based on various criteria, thus reconstructing the message flows. To reconstruct or assemble a message flow, a monitoring system selects an event from the received events and traverses other received events looking for other events related to the selected event. The systems send the events to the message flow monitoring system whenever there is message exchange between the systems. In addition, when the events are received asynchronously, the message flow monitoring system should identify incomplete message flows and seek to complete them with the received events. Therefore, performance of the message flow monitoring system may be affected.
Further, when the network environment is heterogeneous, systems are typically configured with different security restrictions and in accordance with various network protocols, and thus, communicate over generic network protocols relying on a payload approach. Assembling message flows that involve such systems is challenging because the generic network protocols do not guarantee uniqueness of message identifiers.